Now-a-days, Information Technology (IT) Organizations are developing new strategies for developing software applications in less time. Rapid Time-to-market to new features, development of complex and larger applications and change in software project execution model like Agile has resulted in short release cycles. Many IT organizations are now adopting agile software development strategy in order to develop software's in less time and deliver the developed software to their clients each time with an updated version. The clients may suggest modifications in the present release of the developed software and accordingly these changes are incorporated in the next sprint.
Hence, software development cycles have moved towards frequent releases increasing the challenge of releasing a high quality software build in short development lifecycles. However, releasing high quality software build on time in case of manual testing has become a challenge for IT Organizations. Automated test also face similar challenges as that of the manual testing efforts. Product Testing is mostly a recursive process and it turns out to be a very huge effort when the product is tested wholly during each iteration cycle. Further, when the releases are made in short cycle, completing the testing on time and with the required quality gets tough. Very often testing is not completed on time.
In order to reduce the testing efforts, some of the IT Organizations adopt to change based analysis on the current release of the software application or optimizing the test suite through source code change analysis are some of the key scientific methodologies for optimizing the test suite. There are a few methods that provide an optimized test suite through source code change analysis to determine the impacting test cases for testing the new release. However, methodologies that follow the source code change analysis also have gap/less accuracy in reporting impacted and un-impacted test cases. The source code change analysis and test case impact analysis lead to a very longer wait time to get the report, especially when the builds are very huge. Method used for test suite optimization includes storing each of the builds and test case traceability information which increases the storage unnecessarily storing redundant information. Due to this constraint, an optimized way of storing is desired to provide an optimized test suite with short analysis time and with good quality release of the application under testing.